1. Field of the Invention
This invention is related to data storage systems and methods for storing data, and more particularly it is related to caching data and controlling the caching of data.
2. Description of the Related Art
Typically multimedia applications require that a large reservoir of multimedia data, including audio and video data, be readily accessible for delivery to a client. Although multimedia servers are employed to deliver multimedia data, it is not practical to provide extensive data storage within these servers. Accordingly, a low-cost high-capacity media archive may be employed in order to store large volumes of multimedia data which are downloaded via the media server to a client.
One disadvantage associated with the use of a high-capacity media archive is that there is a delay in the transfer of multimedia data from the media archive to the client via the media server. Therefore, it is difficult to ensure that media data will be available for rapid delivery to a client upon request.
It is an object of the present invention to solve the above-described problem by providing for the efficient delivery of media data to a client without excessive delay. To this end, the media server must be managed so as to store multimedia data which is likely to be requested by a particular client.
In accordance with one embodiment of the present invention, a multimedia data storage system for storing multimedia data is provided which includes a media server which stores media data on a short-term basis, and a media archive which stores media data on a long-term basis relative to the media server. The media archive is connected to the media server which operates as a cache device for the media archive, for transmission of media data between the media archive and the media server. According to the present invention a volume of the media data stored in the media server is controlled based on user-defined parameters.
According to still another aspect of the invention the media data includes a portion of a media object and the media server begins to output the media object upon request if the portion of the media object is at least a predetermined fraction of the media object defined by a first parameter of the user-defined parameters.
According to yet another aspect of the present invention, the media server has a maximum storage capacity. In addition, a second parameter of the user-defined parameters is provided which defines an upper capacity volume which is no more than the maximum storage capacity of the media server. Significantly, the media server reduces the volume of the media data stored therein if the volume of the media data is greater than the upper capacity volume.
According to still another embodiment of the present invention, a method is provided for managing a media server as a cache device for a media archive within a multimedia data storage system. The media server stores media data on a short-term basis, while the media archive stores media data on a long-term basis relative to the media server. The media archive is connected to the media server for transmission of media data therebetween. The inventive method includes determining a volume of the media data stored in the media server and controlling the volume of the media data stored in the media server based on user-defined parameters.
According to yet still another aspect of the inventive method, the media data includes a portion of a media object and the method further includes initiating an output of the media object from the media server upon request if the portion of the media object is at least a predetermined fraction of the media object defined by a first parameter of the user-defined parameters.
According to yet another aspect of the inventive method, the media server has a maximum storage capacity and a second parameter of the user-defined parameters is an upper capacity volume which is no more than the maximum storage capacity of the media server. Significantly, the controlling aspect of the inventive method includes reducing the volume of the media data stored in the media server when the volume of the media data is greater than the upper capacity volume.
According to another embodiment of the present invention, a computer-readable medium of instructions is provided which is to be implemented in a multimedia data storage system including a media server and a media archive. The media server stores media data on a short-term basis and the media archive stores media data on a long-term basis relative to the media server. The media archive is connected to the media server for transmission of media data therebetween. The inventive computer-readable medium of instructions includes means for determining a volume of the media data stored in the media server and means for controlling the volume of the media data stored in the media server based on user-defined parameters.